package com.gzhryc.shared_device.oem.h5.agent.dto.api.v1.place;

import com.gzhryc.common.api.SecurityResponse;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class PlacePhysicalStoreInfoResponse extends SecurityResponse<PlacePhysicalStoreInfoResponse.Body> {

    private static final long serialVersionUID = 1L;

	public PlacePhysicalStoreInfoResponse() {
        this.body = new Body();
    }

    public PlacePhysicalStoreInfoResponse(Integer code) {
        super(code);
        this.body = new Body();
    }

    public PlacePhysicalStoreInfoResponse(Integer code, String msg) {
        super(code, msg);
        this.body = new Body();
    }

    public static class Body implements Serializable {

        private static final long serialVersionUID = 1L;
        
		private Long id;
        private String name;
        private String typeCodes;
        private String typeNames;
        private String thumbnailImg;
        private String imgUrl;
        private String province;
        private String city;
        private String cityArea;
        private String address;
        private String routeInfo;
        private String contactPhone;
        private Double longitude;
        private Double latitude;
        private String openTime;
        private String closeTime;
        private Long userId;
        private String userName;
        private Date createDate;

        private Long deviceCount;
        private Long onlineDeviceCount;

        private UserItem userItem;

        private Boolean canDeploy = false;
        private Boolean canUndeploy = false;
        private Boolean editFreeMember = false;
        private Boolean editClerk = false;
       
        public Long getId() {
            return id;
        }

        public void setId(Long id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getTypeCodes() {
            return typeCodes;
        }

        public void setTypeCodes(String typeCodes) {
            this.typeCodes = typeCodes;
        }

        public String getTypeNames() {
            return typeNames;
        }

        public String getThumbnailImg() {
            return thumbnailImg;
        }

        public void setThumbnailImg(String thumbnailImg) {
            this.thumbnailImg = thumbnailImg;
        }

        public void setTypeNames(String typeNames) {
            this.typeNames = typeNames;
        }

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }

        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }

        public String getCityArea() {
            return cityArea;
        }

        public void setCityArea(String cityArea) {
            this.cityArea = cityArea;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        public String getRouteInfo() {
            return routeInfo;
        }

        public void setRouteInfo(String routeInfo) {
            this.routeInfo = routeInfo;
        }

        public String getContactPhone() {
            return contactPhone;
        }

        public void setContactPhone(String contactPhone) {
            this.contactPhone = contactPhone;
        }

        public Double getLongitude() {
            return longitude;
        }

        public void setLongitude(Double longitude) {
            this.longitude = longitude;
        }

        public Double getLatitude() {
            return latitude;
        }

        public void setLatitude(Double latitude) {
            this.latitude = latitude;
        }

        public String getOpenTime() {
            return openTime;
        }

        public void setOpenTime(String openTime) {
            this.openTime = openTime;
        }

        public String getCloseTime() {
            return closeTime;
        }

        public void setCloseTime(String closeTime) {
            this.closeTime = closeTime;
        }

        public Long getUserId() {
            return userId;
        }

        public void setUserId(Long userId) {
            this.userId = userId;
        }

        public String getUserName() {
            return userName;
        }

        public void setUserName(String userName) {
            this.userName = userName;
        }

        public Date getCreateDate() {
            return createDate;
        }

        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }

        public Long getDeviceCount() {
            return deviceCount;
        }

        public void setDeviceCount(Long deviceCount) {
            this.deviceCount = deviceCount;
        }

        public Long getOnlineDeviceCount() {
            return onlineDeviceCount;
        }

        public void setOnlineDeviceCount(Long onlineDeviceCount) {
            this.onlineDeviceCount = onlineDeviceCount;
        }

        public UserItem getUserItem() {
            return userItem;
        }

        public void setUserItem(UserItem userItem) {
            this.userItem = userItem;
        }

		public Boolean getCanDeploy() {
			return canDeploy;
		}

		public void setCanDeploy(Boolean canDeploy) {
			this.canDeploy = canDeploy;
		}

		public Boolean getCanUndeploy() {
			return canUndeploy;
		}

		public void setCanUndeploy(Boolean canUndeploy) {
			this.canUndeploy = canUndeploy;
		}

		public Boolean getEditFreeMember() {
			return editFreeMember;
		}

		public void setEditFreeMember(Boolean editFreeMember) {
			this.editFreeMember = editFreeMember;
		}

		public Boolean getEditClerk() {
			return editClerk;
		}

		public void setEditClerk(Boolean editClerk) {
			this.editClerk = editClerk;
		}
		
    }

    public static class UserItem {

        private Long userId;
        private String userName;
        private String userPhone;
        private Integer roleType;
        private String roleTypeName;
        private String note;
        private Date createDate;

        private List<IncomeRatioItem> incomeRatioItems;

        public Long getUserId() {
            return userId;
        }

        public void setUserId(Long userId) {
            this.userId = userId;
        }

        public String getUserName() {
            return userName;
        }

        public void setUserName(String userName) {
            this.userName = userName;
        }

        public String getUserPhone() {
            return userPhone;
        }

        public void setUserPhone(String userPhone) {
            this.userPhone = userPhone;
        }

        public Integer getRoleType() {
            return roleType;
        }

        public void setRoleType(Integer roleType) {
            this.roleType = roleType;
        }

        public String getRoleTypeName() {
            return roleTypeName;
        }

        public void setRoleTypeName(String roleTypeName) {
            this.roleTypeName = roleTypeName;
        }

        public String getNote() {
            return note;
        }

        public void setNote(String note) {
            this.note = note;
        }

        public Date getCreateDate() {
            return createDate;
        }

        public void setCreateDate(Date createDate) {
            this.createDate = createDate;
        }

        public List<IncomeRatioItem> getIncomeRatioItems() {
            return incomeRatioItems;
        }

        public void setIncomeRatioItems(List<IncomeRatioItem> incomeRatioItems) {
            this.incomeRatioItems = incomeRatioItems;
        }
    }

    public static class IncomeRatioItem {

        private String businessType;
        private String businessTypeName;
        private Double incomeRatio;

        public String getBusinessType() {
            return businessType;
        }

        public void setBusinessType(String businessType) {
            this.businessType = businessType;
        }

        public String getBusinessTypeName() {
            return businessTypeName;
        }

        public void setBusinessTypeName(String businessTypeName) {
            this.businessTypeName = businessTypeName;
        }

        public Double getIncomeRatio() {
            return incomeRatio;
        }

        public void setIncomeRatio(Double incomeRatio) {
            this.incomeRatio = incomeRatio;
        }
    }
}

